222 research outputs found
Efficient Parallel Path Checking for Linear-Time Temporal Logic With Past and Bounds
Path checking, the special case of the model checking problem where the model
under consideration is a single path, plays an important role in monitoring,
testing, and verification. We prove that for linear-time temporal logic (LTL),
path checking can be efficiently parallelized. In addition to the core logic,
we consider the extensions of LTL with bounded-future (BLTL) and past-time
(LTL+Past) operators. Even though both extensions improve the succinctness of
the logic exponentially, path checking remains efficiently parallelizable: Our
algorithm for LTL, LTL+Past, and BLTL+Past is in AC^1(logDCFL) \subseteq NC
Lossy Channel Games under Incomplete Information
In this paper we investigate lossy channel games under incomplete
information, where two players operate on a finite set of unbounded FIFO
channels and one player, representing a system component under consideration
operates under incomplete information, while the other player, representing the
component's environment is allowed to lose messages from the channels. We argue
that these games are a suitable model for synthesis of communication protocols
where processes communicate over unreliable channels. We show that in the case
of finite message alphabets, games with safety and reachability winning
conditions are decidable and finite-state observation-based strategies for the
component can be effectively computed. Undecidability for (weak) parity
objectives follows from the undecidability of (weak) parity perfect information
games where only one player can lose messages.Comment: In Proceedings SR 2013, arXiv:1303.007
Petri Games: Synthesis of Distributed Systems with Causal Memory
We present a new multiplayer game model for the interaction and the flow of
information in a distributed system. The players are tokens on a Petri net. As
long as the players move in independent parts of the net, they do not know of
each other; when they synchronize at a joint transition, each player gets
informed of the causal history of the other player. We show that for Petri
games with a single environment player and an arbitrary bounded number of
system players, deciding the existence of a safety strategy for the system
players is EXPTIME-complete.Comment: In Proceedings GandALF 2014, arXiv:1408.556
Symmetric Synthesis
We study the problem of determining whether a given temporal specification can be implemented by a symmetric system, i.e., a system composed from identical components. Symmetry is an important goal in the design of distributed systems, because systems that are composed from identical components are easier to build and maintain. We show that for the class of rotation-symmetric architectures, i.e., multi-process architectures where all processes have access to all system inputs, but see different rotations of the inputs, the symmetric synthesis problem is EXPTIME-complete in the number of processes. In architectures where the processes do not have access to all input variables, the symmetric synthesis problem becomes undecidable, even in cases where the standard distributed synthesis problem is decidable
Synthesis in Distributed Environments
Most approaches to the synthesis of reactive systems study the problem in terms of a two-player game with complete observation. In many applications, however, the system\u27s environment consists of several distinct entities, and the system must actively communicate with these entities in order to obtain information available in the environment. In this paper, we model such environments as a team of players and keep track of the information known to each individual player. This allows us to synthesize programs that interact with a distributed environment and leverage multiple interacting sources of information.
The synthesis problem in distributed environments corresponds to solving a special class of Petri games, i.e., multi-player games played over Petri nets, where the net has a distinguished token representing the system and an arbitrary number of tokens representing the environment. While, in general, even the decidability of Petri games is an open question, we show that the synthesis problem in distributed environments can be solved in polynomial time for nets with up to two environment tokens. For an arbitrary but fixed number of three or more environment tokens, the problem is NP-complete. If the number of environment tokens grows with the size of the net, the problem is EXPTIME-complete
MGHyper: Checking Satisfiability of HyperLTL Formulas Beyond the Fragment
Hyperproperties are properties that refer to multiple computation traces.
This includes many information-flow security policies, such as observational
determinism, (generalized) noninterference, and noninference, and other system
properties like symmetry or Hamming distances between in error-resistant codes.
We introduce MGHyper, a tool for automatic satisfiability checking and model
generation for hyperproperties expressed in HyperLTL. Unlike previous
satisfiability checkers, MGHyper is not limited to the decidable fragment of HyperLTL, but provides a semi-decisionprocedure for the
full logic. An important application of MGHyper is to automatically check
equivalences between different hyperproperties (and different formalizations of
the same hyperproperty) and to build counterexamples that disprove a certain
claimed implication. We describe the semi-decisionprocedure implemented in
MGHyper and report on experimental results obtained both with typical
hyperproperties from the literature and with randomly generated HyperLTL
formulas
A Temporal Logic for Hyperproperties
Hyperproperties, as introduced by Clarkson and Schneider, characterize the
correctness of a computer program as a condition on its set of computation
paths. Standard temporal logics can only refer to a single path at a time, and
therefore cannot express many hyperproperties of interest, including
noninterference and other important properties in security and coding theory.
In this paper, we investigate an extension of temporal logic with explicit path
variables. We show that the quantification over paths naturally subsumes other
extensions of temporal logic with operators for information flow and knowledge.
The model checking problem for temporal logic with path quantification is
decidable. For alternation depth 1, the complexity is PSPACE in the length of
the formula and NLOGSPACE in the size of the system, as for linear-time
temporal logic
Synthesizing Functional Reactive Programs
Functional Reactive Programming (FRP) is a paradigm that has simplified the
construction of reactive programs. There are many libraries that implement
incarnations of FRP, using abstractions such as Applicative, Monads, and
Arrows. However, finding a good control flow, that correctly manages state and
switches behaviors at the right times, still poses a major challenge to
developers. An attractive alternative is specifying the behavior instead of
programming it, as made possible by the recently developed logic: Temporal
Stream Logic (TSL). However, it has not been explored so far how Control Flow
Models (CFMs), as synthesized from TSL specifications, can be turned into
executable code that is compatible with libraries building on FRP. We bridge
this gap, by showing that CFMs are indeed a suitable formalism to be turned
into Applicative, Monadic, and Arrowized FRP. We demonstrate the effectiveness
of our translations on a real-world kitchen timer application, which we
translate to a desktop application using the Arrowized FRP library Yampa, a web
application using the Monadic threepenny-gui library, and to hardware using the
Applicative hardware description language ClaSH.Comment: arXiv admin note: text overlap with arXiv:1712.0024
- …